const uni = require('@uni-helper/eslint-config')
const unocss = require('@unocss/eslint-plugin')

module.exports = uni(
    {
        rules: {
            '@typescript-eslint/no-explicit-any': ['off'],
            'vue/multi-word-component-names': ['off'],
            'semi': [1, 'never'],
            'style/indent': ['error', 4],
            'vue/html-indent': ['error', 4],
            'quotes': ['error', 'single'],
            'vue/singleline-html-element-content-newline': ['off'],
            'vue/html-closing-bracket-newline': ['off'],
            'vue/first-attribute-linebreak': ['off'],
            'vue/max-attributes-per-line': ['off'],
            '@typescript-eslint/ban-types': 'off',
            '@typescript-eslint/no-unused-vars': 'off',
            'no-console': 'off',
            'vue/require-component-is': 'off',
            'vue/no-v-text-v-html-on-component': 'off',
            'unused-imports/no-unused-vars': 'off',
            'jsdoc/require-returns-check': 'off',
            'no-new-func': 'off',
            'no-async-promise-executor': 'off',
            'vue/valid-v-on': ['error', {
                modifiers: ['shake'],
            }],
            'ts/no-unused-expressions': 'off',
            'vue/valid-v-slot': 'off',
            'prefer-promise-reject-errors': 'off',
            'ts/consistent-type-imports': 'off',
        },
    },
    unocss.configs.flat,
)
